<template>
  <div class="home page-component">
        <el-carousel indicator-position="outside">
            <el-carousel-item v-for="item in 2" :key="item">
                <img alt="" src="~assets/images/web-banner1.png" />
              </el-carousel-item>
          </el-carousel>
        <!-- 搜索 -->
    <div class="search-container">
      <div class="search-wrapper">
        <div class="hospital-search">
          <el-autocomplete v-model="state" :fetch-suggestions="querySearchAsync" class="search-input"
          placeholder="点击输入医院名称" prefix-icon="el-icon-search" @select="handleSelect">
            <span slot="suffix" class="search-btn v-link highlight clickable selected">搜索</span>
          </el-autocomplete>
        </div>
      </div>
    </div>
    <!-- bottom -->
    <div class="bottom">
      <div class="left">
        <div class="home-filter-wrapper">
          <div class="title"> 医院</div>
          <div>
            <div class="filter-wrapper">
              <span class="label">等级：</span>         
              <div class="condition-wrapper">
                <span v-for="(item,index) in hostypeList"
                  :key="item.id"
                  :class="hostypeActiveIndex == index ? 'selected' : ''" class="item v-link clickable"
                  @click="hostypeSelect(item.value, index)">
                  {{item.name}}
                </span>
              </div>
            </div>

            <div class="filter-wrapper">
              <span class="label">地区：</span>       
                <div class="condition-wrapper">
                  <span v-for="(item,index) in districtList"
                    :key="item.id"
                    :class="provinceActiveIndex == index ? 'selected' : ''" class="item v-link clickable"
                    @click="districtSelect(item.value, index)">
                    {{item.name}}
                  </span>
                </div>
            </div>  
          </div>
        </div>
        <div class="v-scroll-list hospital-list">
          <div v-for="item in list"  :key="item.id" class="v-card clickable list-item">
            <div class="">
              <div class="hospital-list-item hos-item" index="0"  @click="show(item.hoscode)">
                <div class="wrapper">
                  <div class="hospital-title">{{item.hosname}}</div>
                  <div class="bottom-container">
                    <div class="icon-wrapper">
                      <span class="iconfont"></span>{{item.param.hostypeString}}       
                    </div>
                    <div class="icon-wrapper">
                      <span class="iconfont"></span>每天{{ item.bookingRule.releaseTime }}放号   
                    </div>
                  </div>
                </div>
                    <img :alt="item.hosname" :src="'data:image/jpeg;base64,'+item.logoData" class="hospital-img"/>
              </div>
            </div>
          </div>
        </div>
      </div>
          
      <div class="right">
        <div class="common-dept">
          <div class="header-wrapper">
            <div class="title"> 常见科室</div>
            <div class="all-wrapper">
              <span>全部</span>       
              <span class="iconfont icon"></span>   
            </div> 
          </div>
                
          <div class="content-wrapper">
                  <span class="item v-link clickable dark">神经内科 </span>
                  <span class="item v-link clickable dark">消化内科 </span>
                  <span class="item v-link clickable dark">呼吸内科 </span>
                  <span class="item v-link clickable dark">内科 </span>
                  <span class="item v-link clickable dark">神经外科 </span>
                  <span class="item v-link clickable dark">妇科 </span>
                  <span class="item v-link clickable dark"> 产科 </span>
                  <span class="item v-link clickable dark">儿科 </span>       
          </div>
        </div>
            
        <div class="space">
          <div class="header-wrapper">
            <div class="title-wrapper">
              <div class="icon-wrapper">
                <span class="iconfont title-icon"></span>       
              </div>
                    <span class="title">平台公告</span>       
            </div>
                  
            <div class="all-wrapper">
              <span>全部</span>       
              <span class="iconfont icon"></span>
            </div>
          </div>
                
          <div class="content-wrapper">
            <div class="notice-wrapper">
              <div class="point"></div>
                    <span class="notice v-link clickable dark">关于延长北京大学国际医院放假的通知 </span>
            </div>
                  
            <div class="notice-wrapper">
              <div class="point"></div>
                    <span class="notice v-link clickable dark">北京中医药大学东方医院部分科室医生门诊医 </span>
            </div>
                  
            <div class="notice-wrapper">   
              <div class="point"></div>
                    <span class="notice v-link clickable dark"> 武警总医院号源暂停更新通知 </span>
            </div>
          </div>
        </div>
            
        <div class="suspend-notice-list space">
          <div class="header-wrapper">
            <div class="title-wrapper">
              <div class="icon-wrapper">
                      <span class="iconfont title-icon"></span>       
              </div>
                    <span class="title">停诊公告</span>       
            </div>
                  
            <div class="all-wrapper">
              <span>全部</span>       
              <span class="iconfont icon"></span>
            </div>
          </div>
                
          <div class="content-wrapper">
            <div class="notice-wrapper">
              <div class="point">

              </div>
                    <span class="notice v-link clickable dark"> 中国人民解放军总医院第六医学中心(原海军总医院)呼吸内科门诊停诊公告 </span>
            </div>
                  
            <div class="notice-wrapper">
              <div class="point">

              </div>
                  <span class="notice v-link clickable dark"> 首都医科大学附属北京潞河医院老年医学科门诊停诊公告 </span>
            </div>

            <div class="notice-wrapper">
              <div class="point">

              </div>
              <span class="notice v-link clickable dark"> 中日友好医院中西医结合心内科门诊停诊公告 </span>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
</template>
<script>

import hospitalApi from '@/api/hospital'
import dictApi from '@/api/dict'
export default {
  //服务端渲染异步,显示医院列表
  asyncData({params, error}) {
    //调用
    return hospitalApi.findHospitalList(1,10,null)
      .then(response =>{
        return {
          list: response.data.content,
          pages: response.data.totalPages
        }
    })
  },

  data() {
    return {
      searchObj: {},
      page: 1,
      limit: 10,


      state:'',
      hosname: '',           //医院名称
      hostypeList: [],       //医院等级集合
      districtList: [],      //地区集合

      hostypeActiveIndex: 0,  //选中的医院等级
      provinceActiveIndex: 0  //选中的省份
    }
  },
  created() {
    this.intit()
  },
  methods: {
    //初始化 -> 查询医院等级 和 地区列表
    intit(){
      //查询医院等级
      dictApi.findByDictCode('Hostype')
        .then(response =>{
          //hostypeList 清空
          this.hostypeList = []
          //向hostypeList 赋值
          this.hostypeList.push({'name':'全部','value':''})
          //把接口返回数据，添加到hostypeList
          for (let index = 0; index < response.data.length; index++) {
            this.hostypeList.push(response.data[index])
          }
      })

      //查询地区数据
      dictApi.findByDictCode('Beijing')
        .then(response =>{
          this.districtList = []
          this.districtList.push({'name':'全部','value':''})
          //把接口返回数据，添加到hostypeList
          for (let index in response.data) {
            this.districtList.push(response.data[index])
          }
      })
    },
    //查询医院等级
    hostypeSelect(hostype,index){
      //准备数据
      this.list = []
      this.page = 1
      this.hostypeActiveIndex = index
      this.searchObj.hostype = hostype
      //调用查询医院列表方法
      this.getList()
    },
    //查询医院
    getList(){
      hospitalApi.findHospitalList(this.page,this.limit,this.searchObj)
        .then(response => {
          // for(let i in response.data.content){
          //   this.list.push(response.data.content[i])
          // }
          this.list  = response.data.content,
          this.page = response.data.totalPages
        })
    },
    //根据地区查询医院
    districtSelect(districtCode, index){
      //准备数据
      this.list = []
      this.page = 1
      this.provinceActiveIndex = index
      this.searchObj.districtCode = districtCode
      //调用查询医院列表方法
      this.getList();
    },
    //根据医院名称查询
    handleSelect(item){
      window.location.href = '/hospital/' + item.hoscode
    },
    //在输入框输入值，弹出下拉框，显示相关内容
    querySearchAsync(queryString, cb){
      this.searchObj = [];
      if(queryString == '' ) {
        cb([])
        return
      }
      hospitalApi.findByHospitalName(queryString)
        .then(response => {
          for (let i = 0, len = response.data.length; i <len; i++) {
            response.data[i].value = response.data[i].hosname
          }
        cb(response.data)
      })
    },
    //点击某个医院名称，跳转到详情页面中
    show(hoscode){
      window.location.href = '/hospital/' + hoscode
    }
  },
}
</script>
